home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 1 (Walnut Creek)
/
Aminet - June 1993 [Walnut Creek].iso
/
aminet
/
misc
/
amag
/
sh9301e.lha
/
Maxon-CPP-Demo
/
Include
/
intuition
/
intuition.h
Wrap
C/C++ Source or Header
|
1993-02-17
|
5KB
|
183 lines
#ifndef INTUITION_INTUITION_H
#define INTUITION_INTUITION_H TRUE
struct RastPort
{
APTR Layer;
APTR BitMap;
APTR AreaPtrn; /* ptr to areafill pattern */
APTR TmpRas;
APTR AreaInfo;
APTR GelsInfo;
UBYTE Mask; /* write mask for this raster */
BYTE FgPen; /* foreground pen for this raster */
BYTE BgPen; /* background pen */
BYTE AOlPen; /* areafill outline pen */
BYTE DrawMode; /* drawing mode for fill, lines, and text */
BYTE AreaPtSz; /* 2^n words for areafill pattern */
BYTE linpatcnt; /* current line drawing pattern preshift */
BYTE dummy;
UWORD Flags; /* miscellaneous control bits */
UWORD LinePtrn; /* 16 bits for textured lines */
WORD cp_x, cp_y; /* current pen position */
UBYTE minterms[8];
WORD PenWidth;
WORD PenHeight;
APTR Font; /* current font address */
UBYTE AlgoStyle; /* the algorithmically generated style */
UBYTE TxFlags; /* text specific flags */
UWORD TxHeight; /* text height */
UWORD TxWidth; /* text nominal width */
UWORD TxBaseline; /* text baseline */
WORD TxSpacing; /* text spacing (per character) */
APTR *RP_User;
ULONG longreserved[2];
#ifndef GFX_RASTPORT_1_2
UWORD wordreserved[7]; /* used to be a node */
UBYTE reserved[8]; /* for future use */
#endif
};
/* --- IDCMP Classes ------------------------------------------------------ */
/* Please refer to the Autodoc for OpenWindow() and to the Rom Kernel
* Manual for full details on the IDCMP classes.
*/
#define IDCMP_CLOSEWINDOW 0x00000200
#define WBENCHSCREEN 0x0001 /* identifies the Workbench screen */
struct Window
{
APTR NextWindow;
WORD LeftEdge, TopEdge; /* screen dimensions of window */
WORD Width, Height; /* screen dimensions of window */
WORD MouseY, MouseX; /* relative to upper-left of window */
WORD MinWidth, MinHeight; /* minimum sizes */
UWORD MaxWidth, MaxHeight; /* maximum sizes */
ULONG Flags; /* see below for defines */
APTR MenuStrip;
UBYTE *Title; /* the title text for this window */
APTR FirstRequester;
APTR DMRequest;
WORD ReqCount; /* count of reqs blocking Window */
APTR WScreen;
APTR RPort;
BYTE BorderLeft, BorderTop, BorderRight, BorderBottom;
APTR BorderPRort;
APTR FirstGadget;
/* these are for opening/closing the windows */
APTR Prarent, Descendant;
/* sprite data information for your own Pointer
* set these AFTER you Open the Window by calling SetPointer()
*/
UWORD *Pointer; /* sprite data */
BYTE PtrHeight; /* sprite height (not including sprite padding) */
BYTE PtrWidth; /* sprite width (must be less than or equal to 16) */
BYTE XOffset, YOffset; /* sprite offsets */
/* the IDCMP Flags and User's and Intuition's Message Ports */
ULONG IDCMPFlags; /* User-selected flags */
struct MsgPort *UserPort;
APTR WindowPort;
APTR MessageKey;
UBYTE DetailPen, BlockPen; /* for bar/border/gadget rendering */
APTR CeckMark;
UBYTE *ScreenTitle; /* if non-null, Screen title when Window is active */
WORD GZZMouseX;
WORD GZZMouseY;
/* these variables contain the width and height of the inner-Window of
* WFLG_GIMMEZEROZERO Windows
*/
WORD GZZWidth;
WORD GZZHeight;
UBYTE *ExtData;
BYTE *UserData; /* general-purpose pointer to User data extension */
/** 11/18/85: this pointer keeps a duplicate of what
* Window.RPort->Layer is _supposed_ to be pointing at
*/
APTR WLayer;
/* NEW 1.2: need to keep track of the font that
* OpenWindow opened, in case user SetFont's into RastPort
*/
APTR IFont;
/* (V36) another flag word (the Flags field is used up).
* At present, all flag values are system private.
* Until further notice, you may not change nor use this field.
*/
ULONG MoreFlags;
/**** Data beyond this point are Intuition Private. DO NOT USE ****/
};
/* --- Flags requested at OpenWindow() time by the application --------- */
#define WFLG_SIZEGADGET 0x00000001 /* include sizing system-gadget? */
#define WFLG_DRAGBAR 0x00000002 /* include dragging system-gadget? */
#define WFLG_DEPTHGADGET 0x00000004 /* include depth arrangement gadget? */
#define WFLG_CLOSEGADGET 0x00000008 /* include close-box system-gadget? */
#define WFLG_GIMMEZEROZERO 0x00000400 /* a GimmeZeroZero window */
#define WFLG_ACTIVATE 0x00001000 /* when Window opens, it's Active */
struct NewWindow
{
WORD LeftEdge, TopEdge; /* screen dimensions of window */
WORD Width, Height; /* screen dimensions of window */
UBYTE DetailPen, BlockPen; /* for bar/border/gadget rendering */
ULONG IDCMPFlags; /* User-selected IDCMP flags */
ULONG Flags; /* see Window struct for defines */
APTR FirstGadget;
APTR CheckMark;
UBYTE *Title; /* the title text for this window */
APTR Screen;
APTR BitMap;
WORD MinWidth, MinHeight; /* minimums */
UWORD MaxWidth, MaxHeight; /* maximums */
UWORD Type;
};
#endif